package main

import (
	"os"
	"os/signal"
	"server/src/logging"
	"server/src/storage"
	"syscall"
)

// VER 版本号
const VER string = "文件上传中心服务器 v1.2 build 20220718"

func main() {
	var err error

	initGlobal()

	storage.Init(storage.RootPath())

	// 启动日志
	logging.DisableBootScreenLog()
	logging.LogBoot()

	zLog(VER, " 启动")

	//读取配置
	cfg, err := loadConfig("")
	if err != nil {
		zLog("配置文件打开失败：", err.Error())
		return
	}

	//连接数据库
	dbo, err := NewDBOperation(cfg)
	if err != nil {
		zLog("数据库连接失败，程序退出:", err)
		return
	}
	zLog("数据库连接成功")

	defer dbo.Close()

	//监听HTTP端口
	ListenHttpService(cfg, dbo)

	//监听信号
	signalChan := make(chan os.Signal, 1)
	signal.Notify(signalChan, syscall.SIGINT, syscall.SIGTERM)

	s := <-signalChan
	zLog("文件上传中心服务器收到退出信号:", s)
}
